﻿/****************************************

 @Name：layer v1.8.5 弹层组件压缩版
 @Author：贤心
 @Date：2014-08-13
 @Blog：http://sentsin.com
 @Copyright：Sentsin Xu(贤心)
 @官网：http://sentsin.com/jquery/layer
        
 */

; !
function(a, b) {
	"use strict";
	var c, d, e = "",
	//组件存放目录，为空表示自动获取
	f = {
		getPath: function() {
			var a = document.scripts,
			b = a[a.length - 1].src;
			return e ? e: b.substring(0, b.lastIndexOf("/") + 1)
		},
		type: ["dialog", "page", "iframe", "loading", "tips"]
	};
	a.layer = {
		v: "1.8.5",
		ie6: !!a.ActiveXObject && !a.XMLHttpRequest,
		index: 0,
		path: f.getPath(),
		use: function(a, b) {
			var d = c("head")[0],
			a = a.replace(/\s/g, ""),
			e = /\.css$/.test(a),
			f = document.createElement(e ? "link": "script"),
			g = a.replace(/\.|\//g, "");
			e && (f.type = "text/css", f.rel = "stylesheet"),
			f[e ? "href": "src"] = /^http:\/\//.test(a) ? a: layer.path + a,
			f.id = g,
			c("#" + g)[0] || d.appendChild(f),
			b && (document.all ? c(f).ready(b) : c(f).load(b))
		},
		alert: function(a, b, d, e) {
			var f = "function" == typeof d,
			g = {
				dialog: {
					msg: a,
					type: b,
					yes: f ? d: e
				},
				area: ["auto", "auto"]
			};
			return f || (g.title = d),
			c.layer(g)
		},
		confirm: function(a, b, d, e) {
			var f = "function" == typeof d,
			g = {
				dialog: {
					msg: a,
					type: 4,
					btns: 2,
					yes: b,
					no: f ? d: e
				}
			};
			return f || (g.title = d),
			c.layer(g)
		},
		msg: function(a, d, e, f) {
			var g = {
				title: !1,
				closeBtn: !1,
				time: d === b ? 2 : d,
				dialog: {
					msg: "" === a || a === b ? "&nbsp;": a
				},
				end: f
			};
			return "object" == typeof e ? (g.dialog.type = e.type, g.shade = e.shade, g.shift = e.rate) : "function" == typeof e ? g.end = e: g.dialog.type = e,
			c.layer(g)
		},
		load: function(a, b) {
			return "string" == typeof a ? layer.msg(a, b || 0, 16) : c.layer({
				time: a,
				loading: {
					type: b
				},
				bgcolor: b ? "#fff": "",
				shade: b ? [.1, "#000"] : [0],
				border: 3 !== b && b ? [6, .3, "#000"] : [0],
				type: 3,
				title: ["", !1],
				closeBtn: [0, !1]
			})
		},
		tips: function(a, b, d, e, f, g) {
			var h = {
				type: 4,
				shade: !1,
				success: function(a) {
					this.closeBtn || a.find(".xubox_tips").css({
						"padding-right": 10
					})
				},
				bgcolor: "",
				tips: {
					msg: a,
					follow: b
				}
			};
			return h.time = "object" == typeof d ? d.time: 0 | d,
			d = d || {},
			h.closeBtn = d.closeBtn || !1,
			h.maxWidth = d.maxWidth || e,
			h.tips.guide = d.guide || f,
			h.tips.style = d.style || g,
			h.tips.more = d.more,
			c.layer(h)
		}
	};
	var g = ["xubox_layer", "xubox_iframe1", ".xubox_title", ".xubox_text", ".xubox_page", ".xubox_main"],
	h = function(a) {
		var b = this,
		d = b.config;
		layer.index++,
		b.index = layer.index,
		b.config = c.extend({},
		d, a),
		b.config.dialog = c.extend({},
		d.dialog, a.dialog),
		b.config.page = c.extend({},
		d.page, a.page),
		b.config.iframe = c.extend({},
		d.iframe, a.iframe),
		b.config.loading = c.extend({},
		d.loading, a.loading),
		b.config.tips = c.extend({},
		d.tips, a.tips),
		b.creat()
	};
	h.pt = h.prototype,
	h.pt.config = {
		type: 0,
		shade: [.3, "#000"],
		fix: !0,
		move: ".xubox_title",
		title: "&#x4FE1;&#x606F;",
		offset: ["", "50%"],
		area: ["310px", "auto"],
		closeBtn: [0, !0],
		time: 0,
		bgcolor: "#fff",
		border: [6, .3, "#000"],
		zIndex: 19891014,
		maxWidth: 400,
		dialog: {
			btns: 1,
			btn: ["&#x786E;&#x5B9A;", "&#x53D6;&#x6D88;"],
			type: 8,
			msg: "",
			yes: function(a) {
				layer.close(a)
			},
			no: function(a) {
				layer.close(a)
			}
		},
		page: {
			dom: "#xulayer",
			html: "",
			url: ""
		},
		iframe: {
			src: "http://sentsin.com",
			scrolling: "auto"
		},
		loading: {
			type: 0
		},
		tips: {
			msg: "",
			follow: "",
			guide: 0,
			isGuide: !0,
			style: ["background-color:#FF9900; color:#fff;", "#FF9900"]
		},
		success: function() {},
		close: function(a) {
			layer.close(a)
		},
		end: function() {}
	},
	h.pt.space = function(a) {
		var b = this,
		a = a || "",
		c = b.index,
		d = b.config,
		e = d.dialog,
		f = -1 === e.type ? "": '<span class="xubox_msg xulayer_png32 xubox_msgico xubox_msgtype' + e.type + '"></span>',
		h = ['<div class="xubox_dialog">' + f + '<span class="xubox_msg xubox_text" style="' + (f ? "": "padding-left:20px") + '">' + e.msg + "</span></div>", '<div class="xubox_page">' + a + "</div>", '<iframe scrolling="' + d.iframe.scrolling + '" allowtransparency="true" id="' + g[1] + c + '" name="' + g[1] + c + '" onload="this.className=\'' + g[1] + '\'" class="' + g[1] + '" frameborder="0" src="' + d.iframe.src + '"></iframe>', '<span class="xubox_loading xubox_loading_' + d.loading.type + '"></span>', '<div class="xubox_tips" style="' + d.tips.style[0] + '"><div class="xubox_tipsMsg">' + d.tips.msg + '</div><i class="layerTipsG"></i></div>'],
		i = "",
		j = "",
		k = d.zIndex + c,
		l = "z-index:" + k + "; background-color:" + d.shade[1] + "; opacity:" + d.shade[0] + "; filter:alpha(opacity=" + 100 * d.shade[0] + ");";
		d.shade[0] && (i = '<div times="' + c + '" id="xubox_shade' + c + '" class="xubox_shade" style="' + l + '"></div>'),
		d.zIndex = k;
		var m = "",
		n = "",
		o = "z-index:" + (k - 1) + ";  background-color: " + d.border[2] + "; opacity:" + d.border[1] + "; filter:alpha(opacity=" + 100 * d.border[1] + "); top:-" + d.border[0] + "px; left:-" + d.border[0] + "px;";
		d.border[0] && (j = '<div id="xubox_border' + c + '" class="xubox_border" style="' + o + '" ></div>'),
		!d.maxmin || 1 !== d.type && 2 !== d.type || /^\d+%$/.test(d.area[0]) && /^\d+%$/.test(d.area[1]) || (n = '<a class="xubox_min" href="javascript:;"><cite></cite></a><a class="xubox_max xulayer_png32" href="javascript:;"></a>'),
		d.closeBtn[1] && (n += '<a class="xubox_close xulayer_png32 xubox_close' + d.closeBtn[0] + '" href="javascript:;" style="' + (4 === d.type ? "position:absolute; right:-3px; _right:7px; top:-4px;": "") + '"></a>');
		var p = "object" == typeof d.title;
		return d.title && (m = '<div class="xubox_title" style="' + (p ? d.title[1] : "") + '"><em>' + (p ? d.title[0] : d.title) + "</em></div>"),
		[i, '<div times="' + c + '" showtime="' + d.time + '" style="z-index:' + k + '" id="' + g[0] + c + '" class="' + g[0] + '"><div style="background-color:' + d.bgcolor + "; z-index:" + k + '" class="xubox_main">' + h[d.type] + m + '<span class="xubox_setwin">' + n + '</span><span class="xubox_botton"></span></div>' + j + "</div>"]
	},
	h.pt.creat = function() {
		var a = this,
		b = "",
		d = a.config,
		e = d.dialog,
		f = a.index,
		h = d.page,
		i = c("body"),
		j = function(d) {
			var d = d || "";
			b = a.space(d),
			i.append(c(b[0]))
		};
		switch (d.type) {
		case 0:
			d.title || (d.area = ["auto", "auto"]),
			c(".xubox_dialog")[0] && layer.close(c(".xubox_dialog").parents("." + g[0]).attr("times"));
			break;
		case 1:
			if ("" !== h.html) j('<div class="xuboxPageHtml">' + h.html + "</div>"),
			i.append(c(b[1]));
			else if ("" !== h.url) j('<div class="xuboxPageHtml" id="xuboxPageHtml' + f + '">' + h.html + "</div>"),
			i.append(c(b[1])),
			c.get(h.url,
			function(a) {
				c("#xuboxPageHtml" + f).html(a.toString()),
				h.ok && h.ok(a)
			});
			else {
				if (0 != c(h.dom).parents(g[4]).length) return;
				j(),
				c(h.dom).show().wrap(c(b[1]))
			}
			break;
		case 3:
			d.title = !1,
			d.area = ["auto", "auto"],
			d.closeBtn = ["", !1],
			c(".xubox_loading")[0] && layer.closeLoad();
			break;
		case 4:
			d.title = !1,
			d.area = ["auto", "auto"],
			d.fix = !1,
			d.border = [0],
			d.tips.more || layer.closeTips()
		}
		1 !== d.type && (j(), i.append(c(b[1])));
		var k = a.layerE = c("#" + g[0] + f);
		if (k.css({
			width: d.area[0],
			height: d.area[1]
		}), d.fix || k.css({
			position: "absolute"
		}), d.title && (3 !== d.type || 4 !== d.type)) {
			var l = 0 === d.type ? e: d,
			m = k.find(".xubox_botton");
			switch (l.btn = d.btn || e.btn, l.btns) {
			case 0:
				m.html("").hide();
				break;
			case 1:
				m.html('<a href="javascript:;" class="xubox_yes xubox_botton1">' + l.btn[0] + "</a>");
				break;
			case 2:
				m.html('<a href="javascript:;" class="xubox_yes xubox_botton2">' + l.btn[0] + '</a><a href="javascript:;" class="xubox_no xubox_botton3">' + l.btn[1] + "</a>")
			}
		}
		"auto" === k.css("left") ? (k.hide(), setTimeout(function() {
			k.show(),
			a.set(f)
		},
		500)) : a.set(f),
		d.time <= 0 || a.autoclose(),
		a.callback()
	},
	f.fade = function(a, b, c) {
		a.css({
			opacity: 0
		}).animate({
			opacity: c
		},
		b)
	},
	h.pt.offset = function() {
		var a = this,
		b = a.config,
		c = a.layerE,
		e = c.outerHeight();
		a.offsetTop = "" === b.offset[0] && e < d.height() ? (d.height() - e - 2 * b.border[0]) / 2 : -1 != b.offset[0].indexOf("px") ? parseFloat(b.offset[0]) : parseFloat(b.offset[0] || 0) / 100 * d.height(),
		a.offsetTop = a.offsetTop + b.border[0] + (b.fix ? 0 : d.scrollTop()),
		-1 != b.offset[1].indexOf("px") ? a.offsetLeft = parseFloat(b.offset[1]) + b.border[0] : (b.offset[1] = "" === b.offset[1] ? "50%": b.offset[1], a.offsetLeft = "50%" === b.offset[1] ? b.offset[1] : parseFloat(b.offset[1]) / 100 * d.width() + b.border[0])
	},
	h.pt.set = function(a) {
		var b = this,
		e = b.config,
		h = (e.dialog, e.page),
		i = (e.loading, b.layerE),
		j = i.find(g[2]);
		switch (b.autoArea(a), e.title ? 0 === e.type && layer.ie6 && j.css({
			width: i.outerWidth()
		}) : 4 !== e.type && i.find(".xubox_close").addClass("xubox_close1"), i.attr({
			type: f.type[e.type]
		}), b.offset(), 4 !== e.type && (e.shift && !layer.ie6 ? "object" == typeof e.shift ? b.shift(e.shift[0], e.shift[1] || 500, e.shift[2]) : b.shift(e.shift, 500) : i.css({
			top: b.offsetTop,
			left: b.offsetLeft
		})), e.type) {
		case 0:
			i.find(g[5]).css({
				"background-color":
				"#fff"
			}),
			e.title ? i.find(g[3]).css({
				paddingTop: 18 + j.outerHeight()
			}) : (i.find(".xubox_msgico").css({
				top: 8
			}), i.find(g[3]).css({
				marginTop: 11
			}));
			break;
		case 1:
			i.find(h.dom).addClass("layer_pageContent"),
			e.shade[0] && i.css({
				zIndex: e.zIndex + 1
			}),
			e.title && i.find(g[4]).css({
				top: j.outerHeight()
			});
			break;
		case 2:
			var k = i.find("." + g[1]),
			l = i.height();
			k.addClass("xubox_load").css({
				width: i.width()
			}),
			k.css(e.title ? {
				top: j.height(),
				height: l - j.height()
			}: {
				top: 0,
				height: l
			}),
			layer.ie6 && k.attr("src", e.iframe.src);
			break;
		case 4:
			var m = [0, i.outerHeight()],
			n = c(e.tips.follow),
			o = {
				width: n.outerWidth(),
				height: n.outerHeight(),
				top: n.offset().top,
				left: n.offset().left
			},
			p = i.find(".layerTipsG");
			e.tips.isGuide || p.remove(),
			i.outerWidth() > e.maxWidth && i.width(e.maxWidth),
			o.tipColor = e.tips.style[1],
			m[0] = i.outerWidth(),
			o.autoLeft = function() {
				o.left + m[0] - d.width() > 0 ? (o.tipLeft = o.left + o.width - m[0], p.css({
					right: 12,
					left: "auto"
				})) : o.tipLeft = o.left
			},
			o.where = [function() {
				o.autoLeft(),
				o.tipTop = o.top - m[1] - 10,
				p.removeClass("layerTipsB").addClass("layerTipsT").css({
					"border-right-color": o.tipColor
				})
			},
			function() {
				o.tipLeft = o.left + o.width + 10,
				o.tipTop = o.top,
				p.removeClass("layerTipsL").addClass("layerTipsR").css({
					"border-bottom-color": o.tipColor
				})
			},
			function() {
				o.autoLeft(),
				o.tipTop = o.top + o.height + 10,
				p.removeClass("layerTipsT").addClass("layerTipsB").css({
					"border-right-color": o.tipColor
				})
			},
			function() {
				o.tipLeft = o.left - m[0] + 10,
				o.tipTop = o.top,
				p.removeClass("layerTipsR").addClass("layerTipsL").css({
					"border-bottom-color": o.tipColor
				})
			}],
			o.where[e.tips.guide](),
			0 === e.tips.guide ? o.top - (d.scrollTop() + m[1] + 16) < 0 && o.where[2]() : 1 === e.tips.guide ? d.width() - (o.left + o.width + m[0] + 16) > 0 || o.where[3]() : 2 === e.tips.guide ? o.top - d.scrollTop() + o.height + m[1] + 16 - d.height() > 0 && o.where[0]() : 3 === e.tips.guide ? m[0] + 16 - o.left > 0 && o.where[1]() : 4 === e.tips.guide,
			i.css({
				left: o.tipLeft,
				top: o.tipTop
			})
		}
		e.fadeIn && (f.fade(i, e.fadeIn, 1), f.fade(c("#xubox_shade" + a), e.fadeIn, e.shade[0])),
		e.fix && "" === e.offset[0] && !e.shift && d.on("resize",
		function() {
			i.css({
				top: (d.height() - i.outerHeight()) / 2
			})
		}),
		b.move()
	},
	h.pt.shift = function(a, b, c) {
		var e = this,
		f = e.config,
		g = e.layerE,
		h = 0,
		i = d.width(),
		j = d.height() + (f.fix ? 0 : d.scrollTop());
		h = "50%" == f.offset[1] || "" == f.offset[1] ? g.outerWidth() / 2 : g.outerWidth();
		var k = {
			t: {
				top: e.offsetTop
			},
			b: {
				top: j - g.outerHeight() - f.border[0]
			},
			cl: h + f.border[0],
			ct: -g.outerHeight(),
			cr: i - h - f.border[0]
		};
		switch (a) {
		case "left-top":
			g.css({
				left:
				k.cl,
				top: k.ct
			}).animate(k.t, b);
			break;
		case "top":
			g.css({
				top:
				k.ct
			}).animate(k.t, b);
			break;
		case "right-top":
			g.css({
				left:
				k.cr,
				top: k.ct
			}).animate(k.t, b);
			break;
		case "right-bottom":
			g.css({
				left:
				k.cr,
				top: j
			}).animate(c ? k.t: k.b, b);
			break;
		case "bottom":
			g.css({
				top:
				j
			}).animate(c ? k.t: k.b, b);
			break;
		case "left-bottom":
			g.css({
				left:
				k.cl,
				top: j
			}).animate(c ? k.t: k.b, b);
			break;
		case "left":
			g.css({
				left:
				-g.outerWidth()
			}).animate({
				left: e.offsetLeft
			},
			b)
		}
	},
	h.pt.autoArea = function(a) {
		var b, d = this,
		a = a || d.index,
		e = d.config,
		f = e.page,
		h = c("#" + g[0] + a),
		i = h.find(g[2]),
		j = h.find(g[5]),
		k = e.title ? i.innerHeight() : 0,
		l = 0;
		switch ("auto" === e.area[0] && j.outerWidth() >= e.maxWidth && h.css({
			width: e.maxWidth
		}), e.type) {
		case 0:
			var m = h.find(".xubox_botton>a");
			b = h.find(g[3]).outerHeight() + 20,
			m.length > 0 && (l = m.outerHeight() + 20);
			break;
		case 1:
			var n = h.find(g[4]);
			b = c(f.dom).outerHeight(),
			"auto" === e.area[0] && h.css({
				width: n.outerWidth()
			}),
			("" !== f.html || "" !== f.url) && (b = n.outerHeight());
			break;
		case 2:
			h.find("iframe").css({
				width:
				h.outerWidth(),
				height: h.outerHeight() - (e.title ? i.innerHeight() : 0)
			});
			break;
		case 3:
			var o = h.find(".xubox_loading");
			b = o.outerHeight(),
			j.css({
				width: o.width()
			})
		}
		"auto" === e.area[1] && j.css({
			height: k + b + l
		}),
		c("#xubox_border" + a).css({
			width: h.outerWidth() + 2 * e.border[0],
			height: h.outerHeight() + 2 * e.border[0]
		}),
		layer.ie6 && "auto" !== e.area[0] && j.css({
			width: h.outerWidth()
		}),
		h.css("50%" !== e.offset[1] && "" != e.offset[1] || 4 === e.type ? {
			marginLeft: 0
		}: {
			marginLeft: -h.outerWidth() / 2
		})
	},
	h.pt.move = function() {
		var a = this,
		b = a.config,
		e = {
			setY: 0,
			moveLayer: function() {
				if (0 == parseInt(e.layerE.css("margin-left"))) var a = parseInt(e.move.css("left"));
				else var a = parseInt(e.move.css("left")) + -parseInt(e.layerE.css("margin-left"));
				"fixed" !== e.layerE.css("position") && (a -= e.layerE.parent().offset().left, e.setY = 0),
				e.layerE.css({
					left: a,
					top: parseInt(e.move.css("top")) - e.setY
				})
			}
		},
		f = a.layerE.find(b.move);
		b.move && f.attr("move", "ok"),
		f.css(b.move ? {
			cursor: "move"
		}: {
			cursor: "auto"
		}),
		c(b.move).on("mousedown",
		function(a) {
			if (a.preventDefault(), "ok" === c(this).attr("move")) {
				e.ismove = !0,
				e.layerE = c(this).parents("." + g[0]);
				var f = e.layerE.offset().left,
				h = e.layerE.offset().top,
				i = e.layerE.width() - 6,
				j = e.layerE.height() - 6;
				c("#xubox_moves")[0] || c("body").append('<div id="xubox_moves" class="xubox_moves" style="left:' + f + "px; top:" + h + "px; width:" + i + "px; height:" + j + 'px; z-index:2147483584"></div>'),
				e.move = c("#xubox_moves"),
				b.moveType && e.move.css({
					opacity: 0
				}),
				e.moveX = a.pageX - e.move.position().left,
				e.moveY = a.pageY - e.move.position().top,
				"fixed" !== e.layerE.css("position") || (e.setY = d.scrollTop())
			}
		}),
		c(document).mousemove(function(a) {
			if (e.ismove) {
				var c = a.pageX - e.moveX,
				f = a.pageY - e.moveY;
				if (a.preventDefault(), !b.moveOut) {
					e.setY = d.scrollTop();
					var g = d.width() - e.move.outerWidth() - b.border[0],
					h = b.border[0] + e.setY;
					c < b.border[0] && (c = b.border[0]),
					c > g && (c = g),
					h > f && (f = h),
					f > d.height() - e.move.outerHeight() - b.border[0] + e.setY && (f = d.height() - e.move.outerHeight() - b.border[0] + e.setY)
				}
				e.move.css({
					left: c,
					top: f
				}),
				b.moveType && e.moveLayer(),
				c = null,
				f = null,
				g = null,
				h = null
			}
		}).mouseup(function() {
			try {
				e.ismove && (e.moveLayer(), e.move.remove()),
				e.ismove = !1
			} catch(a) {
				e.ismove = !1
			}
			b.moveEnd && b.moveEnd()
		})
	},
	h.pt.autoclose = function() {
		var a = this,
		b = a.config.time,
		c = function() {
			b--,
			0 === b && (layer.close(a.index), clearInterval(a.autotime))
		};
		a.autotime = setInterval(c, 1e3)
	},
	f.config = {
		end: {}
	},
	h.pt.callback = function() {
		var a = this,
		b = a.layerE,
		d = a.config,
		e = d.dialog;
		a.openLayer(),
		a.config.success(b),
		layer.ie6 && a.IE6(b),
		b.find(".xubox_close").on("click",
		function() {
			d.close(a.index),
			layer.close(a.index)
		}),
		b.find(".xubox_yes").on("click",
		function() {
			d.yes ? d.yes(a.index) : e.yes(a.index)
		}),
		b.find(".xubox_no").on("click",
		function() {
			d.no ? d.no(a.index) : e.no(a.index),
			layer.close(a.index)
		}),
		a.config.shadeClose && c("#xubox_shade" + a.index).on("click",
		function() {
			layer.close(a.index)
		}),
		b.find(".xubox_min").on("click",
		function() {
			layer.min(a.index, d),
			d.min && d.min(b)
		}),
		b.find(".xubox_max").on("click",
		function() {
			c(this).hasClass("xubox_maxmin") ? (layer.restore(a.index), d.restore && d.restore(b)) : (layer.full(a.index, d), d.full && d.full(b))
		}),
		f.config.end[a.index] = d.end
	},
	f.reselect = function() {
		c.each(c("select"),
		function() {
			var a = c(this);
			a.parents("." + g[0])[0] || 1 == a.attr("layer") && c("." + g[0]).length < 1 && a.removeAttr("layer").show(),
			a = null
		})
	},
	h.pt.IE6 = function(a) {
		var b = this,
		e = a.offset().top;
		if (b.config.fix) var f = function() {
			a.css({
				top: d.scrollTop() + e
			})
		};
		else var f = function() {
			a.css({
				top: e
			})
		};
		f(),
		d.scroll(f),
		c.each(c("select"),
		function() {
			var a = c(this);
			a.parents("." + g[0])[0] || "none" == a.css("display") || a.attr({
				layer: "1"
			}).hide(),
			a = null
		})
	},
	h.pt.openLayer = function() {
		{
			var a = this;
			a.layerE
		}
		layer.autoArea = function(b) {
			return a.autoArea(b)
		},
		layer.shift = function(b, c, d) {
			a.shift(b, c, d)
		},
		layer.setMove = function() {
			return a.move()
		},
		layer.zIndex = a.config.zIndex,
		layer.setTop = function(a) {
			var b = function() {
				layer.zIndex++,
				a.css("z-index", layer.zIndex + 1)
			};
			return layer.zIndex = parseInt(a[0].style.zIndex),
			a.on("mousedown", b),
			layer.zIndex
		}
	},
	f.isauto = function(a, b, c) {
		"auto" === b.area[0] && (b.area[0] = a.outerWidth()),
		"auto" === b.area[1] && (b.area[1] = a.outerHeight()),
		a.attr({
			area: b.area + "," + c
		}),
		a.find(".xubox_max").addClass("xubox_maxmin")
	},

	f.rescollbar = function(a) {
		g.html.attr("layer-full") == a && (g.html[0].style.removeProperty ? g.html[0].style.removeProperty("overflow") : g.html[0].style.removeAttribute("overflow"), g.html.removeAttr("layer-full"))
	},
	layer.getIndex = function(a) {
		return c(a).parents("." + g[0]).attr("times")
	},
	layer.getChildFrame = function(a, b) {
		return b = b || c("." + g[1]).parents("." + g[0]).attr("times"),
		c("#" + g[0] + b).find("." + g[1]).contents().find(a)
	},
	layer.getFrameIndex = function(a) {
		return c(a ? "#" + a: "." + g[1]).parents("." + g[0]).attr("times")
	},
	layer.iframeAuto = function(a) {
		a = a || c("." + g[1]).parents("." + g[0]).attr("times");
		var b = layer.getChildFrame("body", a).outerHeight(),
		d = c("#" + g[0] + a),
		e = d.find(g[2]),
		f = 0;
		e && (f = e.height()),
		d.css({
			height: b + f
		});
		var h = -parseInt(c("#xubox_border" + a).css("top"));
		c("#xubox_border" + a).css({
			height: b + 2 * h + f
		}),
		c("#" + g[1] + a).css({
			height: b
		})
	},
	layer.iframeSrc = function(a, b) {
		c("#" + g[0] + a).find("iframe").attr("src", b)
	},
	layer.area = function(a, b) {
		var d = [c("#" + g[0] + a), c("#xubox_border" + a)],
		e = d[0].attr("type"),
		h = d[0].find(g[5]),
		i = d[0].find(g[2]);
		if (e === f.type[1] || e === f.type[2]) {
			if (d[0].css(b), h.css({
				width: b.width,
				height: b.height
			}), e === f.type[2]) {
				var j = d[0].find("iframe");
				j.css({
					width: b.width,
					height: i ? b.height - i.innerHeight() : b.height
				})
			}
			"0px" !== d[0].css("margin-left") && (b.hasOwnProperty("top") && d[0].css({
				top: b.top - (d[1][0] ? parseFloat(d[1].css("top")) : 0)
			}), b.hasOwnProperty("left") && d[0].css({
				left: b.left + d[0].outerWidth() / 2 - (d[1][0] ? parseFloat(d[1].css("left")) : 0)
			}), d[0].css({
				marginLeft: -d[0].outerWidth() / 2
			})),
			d[1][0] && d[1].css({
				width: parseFloat(b.width) - 2 * parseFloat(d[1].css("left")),
				height: parseFloat(b.height) - 2 * parseFloat(d[1].css("top"))
			})
		}
	},
	layer.min = function(a, b) {
		var d = c("#" + g[0] + a),
		e = [d.position().top, d.position().left + parseFloat(d.css("margin-left"))];
		f.isauto(d, b, e),
		layer.area(a, {
			width: 180,
			height: 35
		}),
		d.find(".xubox_min").hide(),
		"page" === d.attr("type") && d.find(g[4]).hide(),
		f.rescollbar(a)
	},
	layer.restore = function(a) {
		{
			var b = c("#" + g[0] + a),
			d = b.attr("area").split(",");
			b.attr("type")
		}
		layer.area(a, {
			width: parseFloat(d[0]),
			height: parseFloat(d[1]),
			top: parseFloat(d[2]),
			left: parseFloat(d[3])
		}),
		b.find(".xubox_max").removeClass("xubox_maxmin"),
		b.find(".xubox_min").show(),
		"page" === b.attr("type") && b.find(g[4]).show(),
		f.rescollbar(a)
	},
	layer.full = function(a, b) {
		var e, h = c("#" + g[0] + a),
		i = 2 * b.border[0] || 6,
		j = [h.position().top, h.position().left + parseFloat(h.css("margin-left"))];
		f.isauto(h, b, j),
		g.html.attr("layer-full") || g.html.css("overflow", "hidden").attr("layer-full", a),
		clearTimeout(e),
		e = setTimeout(function() {
			layer.area(a, {
				top: "fixed" === h.css("position") ? 0 : d.scrollTop(),
				left: "fixed" === h.css("position") ? 0 : d.scrollLeft(),
				width: d.width() - i,
				height: d.height() - i
			})
		},
		100)
	},
	layer.title = function(a, b) {
		var d = c("#" + g[0] + (b || layer.index)).find(".xubox_title>em");
		d.html(a)
	},
	layer.close = function(a) {
		var b = c("#" + g[0] + a),
		d = b.attr("type"),
		e = c("#xubox_moves, #xubox_shade" + a);
		if (b[0]) {
			if (d == f.type[1]) if (b.find(".xuboxPageHtml")[0]) b[0].innerHTML = "",
			b.remove();
			else {
				b.find(".xubox_setwin,.xubox_close,.xubox_botton,.xubox_title,.xubox_border").remove();
				for (var h = 0; 3 > h; h++) b.find(".layer_pageContent").unwrap().hide()
			} else b[0].innerHTML = "",
			b.remove();
			e.remove(),
			layer.ie6 && f.reselect(),
			f.rescollbar(a),
			"function" == typeof f.config.end[a] && f.config.end[a](),
			delete f.config.end[a]
		}
	},
	layer.closeLoad = function() {
		layer.close(c(".xubox_loading").parents("." + g[0]).attr("times"))
	},
	layer.closeTips = function() {
		layer.closeAll("tips")
	},
	layer.closeAll = function(a) {
		c.each(c("." + g[0]),
		function() {
			var b = c(this),
			d = a ? b.attr("type") === a: 1;
			d && layer.close(b.attr("times")),
			d = null
		})
	},
	f.run = function() {
		c = jQuery,
		d = c(a),
		g.html = c("html"),
		layer.use("skin/layer.css"),
		c.layer = function(a) {
			var b = new h(a);
			return b.index
		},
		(new Image).src = layer.path + "skin/default/xubox_ico0.png"
	},
	"function" == typeof define ? define(function() {
		return f.run(),
		layer
	}) : f.run()
} (window);